iT邦幫忙

0

MySQL [筆記]

  • 分享至 

  • xImage
  •  

1. MYSQL 主從式讀寫分離

https://hoohoo.top/blog/mysql-master-slave-reading-and-writing-separation/

主 (Master)
首先,在設定主資料庫時,必須先配置好 log-bin ,並且指定要儲存「二進位」的路徑,並且在操作資料存取過程會再透過 binary log event 將資料寫入 master binary log。

從 (Slave)
完成寫入二進位制的紀錄後,Master會再通知儲存引擎,讓 Slave 將 master binary log 複製到中繼 log,過程會是從 Master 發起一個 I/O 來開啟一個連線,接著執行 binlog dump process,這個 binlog dump process 大部分時間都會處於休眠狀態,當 master 接收到資料寫入 master binary log 時,bingo dump process 就會將資料進行讀取,接著會從中繼資料會被 SQL 線程讀取,並且存回 Slave 資料庫。

小提醒,在設定 Slave 資料庫時,建議以 MyISAM 引擎增加讀取性能。

簡單說寫入更新寫進Master,Slave只有讀,討論到這個部分是因為
GORM語法,通常MasterDB 及 SlaveDB 自己就已經設定好了,就無需下這個

   Name string gorm:"<-:create" // 允许读和创建
   Name string gorm:"<-:update" // 允许读和更新

2. 通常實務上刪掉欄位資料,並不是真正刪除,而是多一個欄位紀錄何時刪除

type User struct {
      deleteAt
}

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言